<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片打印服务 - API接口文档</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px;
            background-color: #f5f5f5;
        }
        .container {
            background-color: white;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        h1, h2, h3 {
            color: #333;
        }
        h1 {
            text-align: center;
            border-bottom: 2px solid #007bff;
            padding-bottom: 10px;
        }
        h2 {
            border-left: 4px solid #007bff;
            padding-left: 10px;
            margin-top: 30px;
        }
        h3 {
            margin-top: 25px;
            color: #007bff;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 12px;
            text-align: left;
        }
        th {
            background-color: #f8f9fa;
            font-weight: bold;
        }
        tr:nth-child(even) {
            background-color: #f8f9fa;
        }
        code {
            background-color: #f8f9fa;
            padding: 2px 4px;
            border-radius: 3px;
            font-family: 'Courier New', monospace;
        }
        pre {
            background-color: #f8f9fa;
            padding: 15px;
            border-radius: 5px;
            overflow-x: auto;
            border: 1px solid #ddd;
        }
        .endpoint {
            background-color: #e9ecef;
            padding: 10px;
            border-radius: 5px;
            font-family: 'Courier New', monospace;
            margin: 10px 0;
        }
        .back-link {
            display: inline-block;
            margin-bottom: 20px;
            color: #007bff;
            text-decoration: none;
        }
        .back-link:hover {
            text-decoration: underline;
        }
        .note {
            background-color: #fff3cd;
            border: 1px solid #ffeaa7;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
        }
    </style>
</head>
<body>
    <div class="container">
        <a href="index.html" class="back-link">← 返回打印测试页面</a>
        
        <h1>图片打印服务 - API接口文档</h1>
        
        <div class="note">
            <strong>注意：</strong>本服务需要在本地运行，并连接支持的打印机才能正常使用。
        </div>
        
        <h2>基础URL</h2>
        <p>所有API端点都基于以下基础URL：</p>
        <div class="endpoint">http://localhost:8080/api/print</div>
        
        <h2>API接口</h2>
        
        <h3>1. 获取可用打印机列表</h3>
        <div class="endpoint">GET /printers</div>
        <p><strong>接口说明：</strong>获取系统中所有可用的打印机名称列表。</p>
        
        <h4>请求参数</h4>
        <p>无</p>
        
        <h4>响应数据</h4>
        <table>
            <thead>
                <tr>
                    <th>参数名</th>
                    <th>类型</th>
                    <th>说明</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>[string]</td>
                    <td>array</td>
                    <td>可用打印机名称列表</td>
                </tr>
            </tbody>
        </table>
        
        <h3>2. 打印图片</h3>
        <div class="endpoint">POST /image</div>
        <p><strong>接口说明：</strong>上传并打印图片文件。</p>
        
        <h4>请求参数</h4>
        <table>
            <thead>
                <tr>
                    <th>参数名</th>
                    <th>类型</th>
                    <th>必需</th>
                    <th>默认值</th>
                    <th>描述</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>image</td>
                    <td>file</td>
                    <td>是</td>
                    <td>-</td>
                    <td>要打印的图片文件</td>
                </tr>
                <tr>
                    <td>printerName</td>
                    <td>string</td>
                    <td>是</td>
                    <td>-</td>
                    <td>目标打印机名称</td>
                </tr>
                <tr>
                    <td>copies</td>
                    <td>integer</td>
                    <td>否</td>
                    <td>1</td>
                    <td>打印份数</td>
                </tr>
                <tr>
                    <td>printMode</td>
                    <td>string</td>
                    <td>否</td>
                    <td>normal</td>
                    <td>打印模式：normal(普通打印)、6inch_vertical(6寸竖向)、6inch_horizontal(6寸横向)、custom(自定义尺寸)</td>
                </tr>
                <tr>
                    <td>fitToPage</td>
                    <td>boolean</td>
                    <td>否</td>
                    <td>true</td>
                    <td>是否适应页面大小（仅在normal模式下有效）</td>
                </tr>
                <tr>
                    <td>paperWidth</td>
                    <td>number</td>
                    <td>否</td>
                    <td>-</td>
                    <td>相纸宽度（英寸），仅在custom模式下必需</td>
                </tr>
                <tr>
                    <td>paperHeight</td>
                    <td>number</td>
                    <td>否</td>
                    <td>-</td>
                    <td>相纸高度（英寸），仅在custom模式下必需</td>
                </tr>
                <tr>
                    <td>dpi</td>
                    <td>integer</td>
                    <td>否</td>
                    <td>300</td>
                    <td>打印分辨率（DPI）</td>
                </tr>
            </tbody>
        </table>
        
        <h4>响应数据</h4>
        <table>
            <thead>
                <tr>
                    <th>参数名</th>
                    <th>类型</th>
                    <th>说明</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>message</td>
                    <td>string</td>
                    <td>操作结果信息</td>
                </tr>
            </tbody>
        </table>
        
        <h3>3. 人体分割处理</h3>
        <div class="endpoint">POST /human-body-segmentation</div>
        <p><strong>接口说明：</strong>上传图片并进行人体分割处理，返回分割后的图片URL。</p>
        
        <h4>请求参数</h4>
        <table>
            <thead>
                <tr>
                    <th>参数名</th>
                    <th>类型</th>
                    <th>必需</th>
                    <th>默认值</th>
                    <th>描述</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>image</td>
                    <td>file</td>
                    <td>是</td>
                    <td>-</td>
                    <td>要进行人体分割的图片文件</td>
                </tr>
                <tr>
                    <td>accessKeyId</td>
                    <td>string</td>
                    <td>否</td>
                    <td>内置默认值</td>
                    <td>阿里云访问密钥ID</td>
                </tr>
                <tr>
                    <td>accessKeySecret</td>
                    <td>string</td>
                    <td>否</td>
                    <td>内置默认值</td>
                    <td>阿里云访问密钥Secret</td>
                </tr>
            </tbody>
        </table>
        
        <h4>响应数据</h4>
        <table>
            <thead>
                <tr>
                    <th>参数名</th>
                    <th>类型</th>
                    <th>说明</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>url</td>
                    <td>string</td>
                    <td>分割后的图片URL</td>
                </tr>
            </tbody>
        </table>
        
        <h2>错误处理</h2>
        <p>API使用HTTP状态码表示请求结果：</p>
        <table>
            <thead>
                <tr>
                    <th>状态码</th>
                    <th>说明</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>200</td>
                    <td>请求成功</td>
                </tr>
                <tr>
                    <td>400</td>
                    <td>请求参数错误</td>
                </tr>
                <tr>
                    <td>500</td>
                    <td>服务器内部错误</td>
                </tr>
            </tbody>
        </table>
        
        <h2>注意事项</h2>
        <ul>
            <li>服务必须在本地运行，且连接有支持的打印机</li>
            <li>打印机名称必须完全匹配系统中的打印机名称</li>
            <li>6英寸竖向无边框打印功能需要打印机支持相应纸张尺寸</li>
            <li>建议使用高质量的图片以获得最佳打印效果</li>
            <li>使用相纸尺寸功能时，需要同时提供paperWidth和paperHeight参数</li>
            <li>相纸尺寸以英寸为单位，例如4x6英寸的照片</li>
            <li>人体分割功能依赖阿里云人体分割服务，需要有效的访问密钥</li>
        </ul>
    </div>
</body>
</html>